Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Moja koncepcja cms-a, Czy dobra ?
Diwi
post
Post #1





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

Ostrzeżenie: (0%)
-----


Ostatnio zaświtał mi pomysł na wykonanie zarządzania treścią w systemie cms. Moja koncepcja wygląda tak

Mamy tabele w bazie danych o nazwie "content". W tej tabeli znajdują się kolumny takie jak:

Kod
value | id | tpl


Gdzie:

I. value to wartość treści
II. ID chyba wiadomo
III. Nazwa przydzielonego szablonu

Teraz przykład zastosowania mojej koncepcji a więc dodajemy sobie nowy rekord o wartości kolumny "value":

Kod
title: Nazwa artykuły;
text: Jakiś tekst
author: autor
create-date: 28.08.2005
contact: php.diwi@gmail.com


Tak więc moja wizja jest taka. W katalogu templates gdzie trzymamy szablony znajdują się podfoldery o nazwach page_"nazwa_szablonu". Wewnątrz każdego takiego podfolderu mamy 2 pliki:

-config.inc
-template.tpl

config.inc przechowuje informacje na temat elementów danej strony, przykładowa budowa dla wyżej wymienionej treści będzie wyglądać tak:

Kod
title | varchar;
text | big_varchar;
author | varchar;
create-date | date_format;
contact | varchar;


Co to oznacza ? A więc część przed znakiem "|" to nazwa elementu a po tym znaku to rodzaj wartości (Przyda się to potem przy tworzeniu formularza do dodawania treści) Dzięki takiemu rozwiązaniu możemy budować podstrony składającą się z bardzo dużej ilości elementów bez ograniczenia związanego z określonymi polami w formularzu dodawania treści.

Co do drugiego pliku template.tpl to odpowiada on za wyświetlanie informacji i może on dla powyższego przykładu wyglądać tak:

Kod
<b>{content.title}</b>
<p>{content.text}</p>
<br />
<span>Autor: <a href="mailto:{content.contact}">{content.autor}</a></span>
<br /><br />
Data dodania: {content.creation-date}



Niestety co do szablonów to ich zawartość jest przydzielana na stałe ale można tworzyć nowe dlatego jest to dosyć elastyczne rozwiązanie.

I teraz pytanie do was czy taka koncepcja jest dobra i czy iść w tą stronę ?

Pozdrawiam
Go to the top of the page
+Quote Post
2 Stron V  < 1 2  
Start new topic
Odpowiedzi (20 - 22)
scanner
post
Post #21





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(Diwi @ 1.10.2005, 23:20 ) *
NO tak ale wtedy zapychamy strasznie bazę rekordami. IMHO lepiej wrzucić wszystko do jednej kolumny niż mieć bardzo dużo rekordów. Wg twojego rozwiązania dla n liczby użytkowników miałbym tyle rekordów:

n = ilość userów
v = ilość dodatkowych atrybutów

ilosc_rekordow = n*v

I jest jakiś sens zapychać tak bazę ? Jak dla mnie to lepiej puścić explode w skrypcie niż mieć zapchaną bazę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam

Z takikm podejściem, to zacznij lepiej sadzić kwiatki.

A jak myślisz, po co wymyslono bazy danych? Z twoim podejściem, to równie dobrze mozesz napisać wszystko na plikach - efekt będzie ten sam.

Skoro bazy danych składają się (między innymi) z tabel, tabele z kolumn a kolumny maja różne typy, to najlogiczniejszym rozwiązaniem jest korzystanie z tego.
To co Ty próbujesz zrobić jest tak bardzo nielogiczne i udziwnione, że zapewniam Cię, że polegniesz przypierwszej próbie implementacji tego zagadnienia.

Wierz mi, że widziałem bazy danych (produkcyjne, nie testowe), które w pojedyńczej tabeli miały po kilka milionów rekordów a import takiej bazy w Oracle9 potrafił trwać i godzinę - i jakoś producent oprogramowania (firma z 15letnim doświadczeniem) nie wpadł na pomysł, żeby wpychac wszystko w jedno pole. To jest absurd.

Wręcz przeciwnie - powiem Ci, że czasami (często? - zalezy od problemu) stosuje się nadmiarowość danych - oczywiście z zachoweaniem zdrowego rozsądku - właśnie po to, zeby zapewnić sobie przerzucenie jaknajwiększej ilości obliczeń na SQL.

Pozatym - porównaj sobie szybkośc działania wyspecjalizowanego silnika bazy, którego podstawą działania jest mielenie ton informacji a prościutyka funkcyjke explode... Pomyśl nad narzutem prędkości i zuzycia pamięci, które te explode spowoduje.

Jeszcze raz: zastanów się,. dlaczego bazy danych maja typy pól, tabele i wszelkie inne mechanizmy. A póżniej pomyśl nad tym, co chcesz zrobić. Szkoda Twojego czasu i pieniędzy na prąd.
Go to the top of the page
+Quote Post
Diwi
post
Post #22





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

Ostrzeżenie: (0%)
-----


Hehe, no i wykopaliście mój temat sprzed prawie roku.

Cytat
Z takikm podejściem, to zacznij lepiej sadzić kwiatki.

A jak myślisz, po co wymyslono bazy danych? Z twoim podejściem, to równie dobrze mozesz napisać wszystko na plikach - efekt będzie ten sam.

Skoro bazy danych składają się (między innymi) z tabel, tabele z kolumn a kolumny maja różne typy, to najlogiczniejszym rozwiązaniem jest korzystanie z tego.
To co Ty próbujesz zrobić jest tak bardzo nielogiczne i udziwnione, że zapewniam Cię, że polegniesz przypierwszej próbie implementacji tego zagadnienia.

Wierz mi, że widziałem bazy danych (produkcyjne, nie testowe), które w pojedyńczej tabeli miały po kilka milionów rekordów a import takiej bazy w Oracle9 potrafił trwać i godzinę - i jakoś producent oprogramowania (firma z 15letnim doświadczeniem) nie wpadł na pomysł, żeby wpychac wszystko w jedno pole. To jest absurd.

Wręcz przeciwnie - powiem Ci, że czasami (często? - zalezy od problemu) stosuje się nadmiarowość danych - oczywiście z zachoweaniem zdrowego rozsądku - właśnie po to, zeby zapewnić sobie przerzucenie jaknajwiększej ilości obliczeń na SQL.

Pozatym - porównaj sobie szybkośc działania wyspecjalizowanego silnika bazy, którego podstawą działania jest mielenie ton informacji a prościutyka funkcyjke explode... Pomyśl nad narzutem prędkości i zuzycia pamięci, które te explode spowoduje.

Jeszcze raz: zastanów się,. dlaczego bazy danych maja typy pól, tabele i wszelkie inne mechanizmy. A póżniej pomyśl nad tym, co chcesz zrobić. Szkoda Twojego czasu i pieniędzy na prąd.


W zupełności się z tobą zgodze. Ten post był pisany bez przemyślenia. W ostateczności zaplanowałem wrzucić każdy element do osobnej kolumny (uznałem że to najlepsze rozwiązanie)

Pozdrawiam
Go to the top of the page
+Quote Post
scanner
post
Post #23





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(Diwi @ 14.07.2006, 09:06 ) *
Hehe, no i wykopaliście mój temat sprzed prawie roku.

Ups.. spojrzałem tylko na datę ostatniego posta.
Na wszelki wypadek zamykam, skoro temat już wyczerpany (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

2 Stron V  < 1 2
Closed TopicStart new topic
14 Użytkowników czyta ten temat (14 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 19:43